﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Joker.Model {
    public class DataTransfer {
        //以下代码可能引起极度不适
        public static string Username;
        public enum DBGender {
            Famale = 0, Male = 1
        }
        //WDNMD 结构体没法设默认值，只能用构造函数传参来实现了
        public struct GoodsLineBean {
            public int ID;
            public string Name;
            public GoodsLineBean(int ID = -1, string Name = "") {
                this.ID = ID;
                this.Name = Name;
            }
        }
        public struct IncentoryLineBean {
            public int ID;
            public DateTime Date;
            public IncentoryLineBean(int ID = -1, DateTime Date = new DateTime()) {
                this.ID = ID;
                this.Date = Date;
            }
        }
        public struct IncentoryDetailLineBean {
            public int ID;
            public int IncentoryID;
            public int GoodsID;
            public int Amount;
            public int WarehouseID;
            public int SupplyID;
            public IncentoryDetailLineBean(int ID = -1, int IncentoryID = -1, int GoodsID = -1, int Amount = -1, int WarehouseID = -1, int SupplyID = -1) {
                this.ID = ID;
                this.IncentoryID = IncentoryID;
                this.GoodsID = GoodsID;
                this.Amount = Amount;
                this.WarehouseID = WarehouseID;
                this.SupplyID = SupplyID;
            }
        }
        public struct PurchaseLineBean {
            public int ID;
            public DateTime Date;
            public bool State;
            public PurchaseLineBean(int ID = -1, DateTime Date = new DateTime(), bool State = false) {
                this.ID = ID;
                this.Date = Date;
                this.State = State;
            }
        }
        public struct PurchaseDetailLineBean {
            public int ID;
            public int PurchaseID;
            public int GoodID;
            public int Amount;
            public int SupplyID;
            public PurchaseDetailLineBean(int ID = -1, int PurchaseID = -1, int GoodID = -1, int Amount = -1, int SupplyID = -1) {
                this.ID = ID;
                this.PurchaseID = PurchaseID;
                this.GoodID = GoodID;
                this.Amount = Amount;
                this.SupplyID = SupplyID;
            }
        }
        public struct SupplyLineBean {
            public int ID;
            public string Name;
            public DBGender Gender;
            public string Address;
            public string Tel;
            public SupplyLineBean(int ID = -1, string Name = "", DBGender Gender = DBGender.Famale, string Address = "", string Tel = "") {
                this.ID = ID;
                this.Name = Name;
                this.Gender = Gender;
                this.Address = Address;
                this.Tel = Tel;
            }
        }
        public struct UserLineBean {
            public string Account;
            public string Password;
            public string Name;
            public DBGender Gender;
            public string Tel;
            public UserLineBean(string Account = "", string Password = "", string Name ="", DBGender Gender = DBGender.Famale, string Tel = "") {
                this.Account = Account;
                this.Password = Password;
                this.Name = Name;
                this.Gender = Gender;
                this.Tel = Tel;
            }
        }
        public struct WarehouseLineBean {
            public int ID;
            public string Name;
            public string Address;
            public string Contact;
            public DBGender Gender;
            public string Tel;
            public WarehouseLineBean(int ID = -1, string Name = "", string Address = "", string Contact = "", DBGender Gender = DBGender.Famale, string Tel = "") {
                this.ID = ID;
                this.Name = Name;
                this.Address = Address;
                this.Contact = Contact;
                this.Gender = Gender;
                this.Tel = Tel;
            }
        }
        public struct WarehouseInLineBean {
            public int ID;
            public int TypeID;
            public DateTime Date;
            public bool State;
            public WarehouseInLineBean(int ID = -1, int TypeID = -1, DateTime Date = new DateTime(), bool State = false) {
                this.ID = ID;
                this.TypeID = TypeID;
                this.Date = Date;
                this.State = State;
            }
        }
        public struct WarehouseInDetailLineBean {
            public int ID;
            public int WarehouseInID;
            public int GoodsID;
            public int Amount;
            public int SupplyID;
            public WarehouseInDetailLineBean(int ID = -1, int WarehouseInID = -1, int GoodsID = -1, int Amount = -1, int SupplyID = -1) {
                this.ID = ID;
                this.WarehouseInID = WarehouseInID;
                this.GoodsID = GoodsID;
                this.Amount = Amount;
                this.SupplyID = SupplyID;
            }
        }
        public struct WarehouseInTypeLineBean {
            public int ID;
            public string TypeName;
            public WarehouseInTypeLineBean(int ID = -1, string TypeName = "") {
                this.ID = ID;
                this.TypeName = TypeName;
            }
        }
        public struct WarehouseOutLineBean {
            public int ID;
            public int TypeID;
            public DateTime Date;
            public bool State;
            public WarehouseOutLineBean(int ID = -1, int TypeID = -1, DateTime Date = new DateTime(), bool State = false) {
                this.ID = ID;
                this.TypeID = TypeID;
                this.Date = Date;
                this.State = State;
            }
        }
        public struct WarehouseOutDetailLineBean {
            public int ID;
            public int WarehouseInID;
            public int GoodsID;
            public int Amount;
            public int SupplyID;
            public WarehouseOutDetailLineBean(int ID = -1, int WarehouseInID = -1, int GoodsID = -1, int Amount = -1, int SupplyID = -1) {
                this.ID = ID;
                this.WarehouseInID = WarehouseInID;
                this.GoodsID = GoodsID;
                this.Amount = Amount;
                this.SupplyID = SupplyID;
            }
        }
        public struct WarehouseOutTypeLineBean {
            public int ID;
            public string TypeName;
            public WarehouseOutTypeLineBean(int ID = -1, string TypeName = "") {
                this.ID = ID;
                this.TypeName = TypeName;
            }
        }
    }
}
